package org.rency.common.utils.domain;

import java.io.Serializable;

import org.apache.commons.lang.builder.ToStringBuilder;
import org.apache.commons.lang.builder.ToStringStyle;

/**
 * <p>操作环境</p>
 * 操作环境是指客户端环境与服务器环境。用于日志或访问控制。
 * @author: user_rcy@163.com
 * </br>Created on 2015年12月22日
 * @version: V1.0.0
 * @since JDK 1.8
 */
public class OperationEnvironment implements Serializable {

	private static final long serialVersionUID = -7606172336527767001L;

	/** 请求浏览器 */
	private String browser;
	/** 浏览器版本 */
	private String browserVersion;

	private String cookie;

	private String domainName;
	
	private String refererUrl;

	/** 客户端IP */
	private String clientIp;
	/** 客户端MAC */
	private String clientMac;
	/** 客户端的唯一标识 */
	private String clientId;
	/** 服务器IP */
	private String serverIp;
	/** 服务器名称 */
	private String serverName;
	/** 扩展信息(json) */
	private String extension;

	public String getBrowser() {
		return browser;
	}

	public void setBrowser(String browser) {
		this.browser = browser;
	}

	public String getBrowserVersion() {
		return browserVersion;
	}

	public void setBrowserVersion(String browserVersion) {
		this.browserVersion = browserVersion;
	}

	public String getCookie() {
		return cookie;
	}

	public void setCookie(String cookie) {
		this.cookie = cookie;
	}

	public String getDomainName() {
		return domainName;
	}

	public void setDomainName(String domainName) {
		this.domainName = domainName;
	}

	public String getRefererUrl() {
		return refererUrl;
	}

	public void setRefererUrl(String refererUrl) {
		this.refererUrl = refererUrl;
	}

	public String getClientIp() {
		return clientIp;
	}

	public void setClientIp(String clientIp) {
		this.clientIp = clientIp;
	}

	public String getClientMac() {
		return clientMac;
	}

	public void setClientMac(String clientMac) {
		this.clientMac = clientMac;
	}

	public String getClientId() {
		return clientId;
	}

	public void setClientId(String clientId) {
		this.clientId = clientId;
	}

	public String getServerIp() {
		return serverIp;
	}

	public void setServerIp(String serverIp) {
		this.serverIp = serverIp;
	}

	public String getServerName() {
		return serverName;
	}

	public void setServerName(String serverName) {
		this.serverName = serverName;
	}

	public String getExtension() {
		return extension;
	}

	public void setExtension(String extension) {
		this.extension = extension;
	}

	@Override
	public String toString() {
		return ToStringBuilder.reflectionToString(this,ToStringStyle.SHORT_PREFIX_STYLE);
	}

}